package pl.edu.agh.ki.ewywiadowka.client.windows.attendant;

import java.util.LinkedList;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.VerticalPanel;

import pl.edu.agh.ki.ewywiadowka.client.Const;
import pl.edu.agh.ki.ewywiadowka.client.EWywiadowka;
import pl.edu.agh.ki.ewywiadowka.client.dto.AttendantDTO;
import pl.edu.agh.ki.ewywiadowka.client.dto.ClassDTO;
import pl.edu.agh.ki.ewywiadowka.client.dto.StudentDTO;
import pl.edu.agh.ki.ewywiadowka.client.windows.GenericWindow;
import pl.edu.agh.ki.ewywiadowka.client.windows.educator.AbsenceWindow;

public class AttendantAbsenceWelcomeWindow extends GenericWindow implements ClickHandler {
	
	private VerticalPanel _mainPanel = new VerticalPanel();
	private ListBox _studentsListBox = new ListBox();
	
	private Button _okButton = new Button("Wybierz ucznia");
	
	private AttendantDTO _attendant = null;
	
	public AttendantAbsenceWelcomeWindow(EWywiadowka wywiadowka, AttendantDTO attendant) {
		super(wywiadowka);
		
		_attendant = attendant;
		
		_okButton.addClickHandler(this);
		
		_studentsListBox.setVisibleItemCount(15);
		for (StudentDTO student : _attendant.students)
			_studentsListBox.addItem(student.toString());
		
		_mainPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
		_mainPanel.add(_studentsListBox);
		_mainPanel.add(_okButton);
		
		
		this.initWidget(_mainPanel);
	}


	@Override
	public void onClick(ClickEvent event) {
		if (_studentsListBox.getSelectedIndex() != -1 && event.getSource() == _okButton) {
			this.getWywiadowka().putWindow(new AbsenceWindow(getWywiadowka(), _attendant.students.get(_studentsListBox.getSelectedIndex()), 2));
		}
	}

}
